package com.logic.landseaserver.service;

import com.logic.common.exception.BusinessException;
import com.logic.common.service.ICRUDService;
import com.logic.common.ws.dto.system.UserPassChangeDTO;
import com.logic.landseaserver.common.exception.LandseaBusinessException;
import com.logic.landseaserver.ws.request.RegisterReq;
import com.logic.landseaserver.ws.response.UserInfoResponse;
import com.logic.landseaserver.ws.response.WeixinInfoResponse;
import com.logic.system.domain.User;


public interface IUser extends ICRUDService {
    User itExistUser(User user);

    int register(RegisterReq req) throws BusinessException;

    int updateUserPwd(RegisterReq req) throws BusinessException;

    User get(Integer id) throws BusinessException;

    UserInfoResponse getInfo() throws BusinessException;

    WeixinInfoResponse getOpenId(String code) throws LandseaBusinessException;

    void updateUserOpenId(String code, Integer userId) throws Exception;

    Boolean updatePassword(UserPassChangeDTO dto) throws LandseaBusinessException;
}
